#include "main-tools.h"
//   ----------------------------------------------------------------------------
void checkMalloc(void* p,const char* description){
	if (p==NULL){
		fprintf(stderr,"spazio insufficiente per l'allocazione di memoria. "
				"Ulteriori informazioni:\n%s",description);
		exit(1);
	}
}

void randomize(){
#ifndef __STM_RANDOMSEED_
#define __STM_RANDOMSEED_
	//TODO trovare qualcosa di meglio... alcuni danno la funzione clock() di time.h
	srand(time(NULL));
#endif
}

void pause(){
	fgetc(stdin);
}

//   ----------------------------------------------------------------------------
int* randomPermutation(int K) {
	int *perm = malloc(K*sizeof(int));
    int k, j, temp;
    for (k=0; k<K; k++)
    	perm[k] = k;
    for (k=K-1; k>0; k--) {
    	j = rand()%(k+1);
    	temp = perm[j];
    	perm[j] = perm[k];
    	perm[k] = temp;
    }
    return perm;
}
